package com.czwx.bee.business.manager.modular.borrow.model;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.beans.BeanUtils;

import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ManageBorrowModel extends Borrow {

	private static final long serialVersionUID = 1L;

	public static ManageBorrowModel instance(Borrow borrow) {
		ManageBorrowModel borrowModel = new ManageBorrowModel();
		BeanUtils.copyProperties(borrow, borrowModel);
		return borrowModel;
	}

	/**
	 * 真实姓名
	 */
	private String realName;

	/**
	 * 手机号码
	 */
	private String phone;

	/**
	 * 状态中文含义
	 */
	private String stateStr;

	/**
	 * 待还款金额/已还款金额
	 */
	private Double repayAmount;

	/**
	 * 还款时间
	 */
	private String repayTime;
	/**
	 * 应还款时间
	 */
	private String RepaymentTime;

	/**
	 * 逾期罚金
	 */
	private Double penaltyAmout;

	/**
	 * 逾期天数
	 */
	private String penaltyDay;

    /**
    * 借款订单id
    */
    private long borrowId;
    /**
     * 放款时间
     */
    private Date loanTime;
    
    /**
	 * 逾期等级
	 */
	private String level;
	/**
	 * 逾期管理费
	 */
	private Double penaltyManageAmt;

	/**
	 * 注册客户端
	 * @return
	 */
	private String registerClient;
	/**
	 * 证件号码
	 */
	private String idNo;

	/**
	 * 放款的银行卡流水号
	 */
	private String tradeNo;

	/**
	 * 催款人姓名
	 * @return
	 */
	private String userName;
	/**
	 * 合同在线查看地址
	 */
	private String viewpdfUrl;

	/**
	 * 合同下载地址
	 */
	private String downloadUrl;
	/**
	 * 应还总额
	 */
	private Double penaltyAmoutCount;
	/**
	 * 应还时间
	 */
	private Date sRepay;
	/**
	 * 引流平台
	 */
	private String platformName;
	
	/**
	 * 请求订单标识
	 */
	private String payOrderNo;
	
	/**
	 * 支付方式 10:代付 20:代扣 30:线下代付  40:线下代扣 50:快捷支付,
	 */
	private String payType;
	
	/**
	 * 支付时间
	 */
	private Date payUpdateTime;
	
	/**
	 * 放款银行卡开户行
	 */
	private String bank;
	
	/**
	 * 放款银行卡卡号
	 */
	private String cardNo;
	
	/**
	 * 大写金额
	 */
	private String capitalAmount;
	
	/**
	 * 金额保留两位小数
	 */
	private String amountSt;
	
	/**
	 *仲裁状态
	 */
	private String arbState;

	//仲裁的中文状态
	private String chineseState;
	
	/**
	 * 已经还款期数
	 */
	private String hasRepayPeriod;
	/**
	 * 借款期限
	 */
	private String timeLimitNo;

	/**
	 * 分期号
	 */
	private Integer periodNo;

	/**
	 * 已还分期总数
	 */
	private Integer periodTotal;
	
	/**
	 * 工作单位
	 */
	private String workUnit;
	
	/**
	 * 借款用途
	 */
	private String loanUse;
	
	/**
	 * 产品名称
	 */
	private String prodName;

	/**
	 * 是否已经认领: 0未认领 1:认领
	 */
	private Integer isClaim;

	/**
	 * 已认领的系统用户的id
	 */
	private Long  claimSysUserId;


	/**
	 * 授信额度
	 */
	private Double totalAmount;

	public String getStateStr() {
		this.stateStr = BorrowModel.manageConvertBorrowState(this.getState());
		return stateStr;
	}
}


